Reusability Metrics for Program Source Code Written in C Language and Their Evaluation
نویسندگان
چکیده
There are various approaches to quantitatively and statically measuring the reusability of program source code; however, empirical demonstrations of the effectiveness of such approaches by considering actual reuse in actual development projects or of the magnitude of their effect on actual reusability have not been reported in depth. In this paper, we identified a set of metrics that are thought to be effective for measuring the reusability of C language program source code. Subsequently, for ten projects involved in development with existing software modification and adoption, during which conventional source code in an old project are extensively reused and adopted to a new project, we compared values of the static metrics identified and the reuse results before and after the development. Statistical analysis demonstrated that some of our metrics are effective for actual software development, and we accurately determined the magnitude of their effect on actual reusability. More concretely, it was found that when the percentage of files used outside the belonging directory is small and the number of function calls is small, the complexity of source code as the material of reuse and factors that are affected by the source code are limited, indicating high reusability.
منابع مشابه
A Framework for Measuring and Evaluating Program Source Code Quality
The effect of the quality of program source code on the cost of development and maintenance as well as on final system performance has resulted in a demand for technology that can measure and evaluate the quality with high precision. Many metrics have been proposed for measuring quality, but none have been able to provide a comprehensive evaluation, nor have they been used widely. We propose a ...
متن کاملEmpirical Analysis of the Reusability of Object-Oriented Program Code in Open-Source Software
Measuring the reusability of Object-Oriented (OO) program code is important to ensure a successful and timely adaptation and integration of the reused code in new software projects. It has become even more relevant with the availability of huge amounts of open-source projects. Reuse saves cost, increases the speed of development and improves software reliability. Measuring this reusability is n...
متن کاملOpenC: Extending C Programs with Computational Reflection
Computational reflection has shown much promise for improving the quality of software by providing programming language techniques to address issues of modularity, reusability, maintainability, and extensibility. In this paper, we describe how to bring the power of computational reflection to C through a meta-object protocol (MOP), named OpenC, which offers a framework to build arbitrary source...
متن کاملMethodologies and Tools for the Software Quality Assurance Course*
Tutorials, labs, projects, and homework assignments were designed to help students explore modern techniques of software quality assurance; debugging C/C++ and Java codes; and developing high-quality computer projects. Different methods (predicate-logic and topological approaches of graph theory; metric theory of algorithms, and object-oriented methodology of rapid prototyping) have been explor...
متن کاملCalculating Metrics from Large C++ Programs
In this work we present a new method called compiler wrapping for extracting information from the source code of large software systems written in the C++ language. This new method can be used without having to modify the analyzed source code in any way. With the extracted information we can calculate different object oriented metrics and characterize the analyzed system. For source code analys...
متن کامل